/*
 *  cylk_regionDetection.h
 *  cylk
 *
 *  Types and utilities for detecting a region in a 3D image.
 *  
 *  These should have no dependencies except for standard library
 *  and cylk_imageManagement.
 *
 *  Created by Benjamin Heasly on 7/14/09.
 *  Copyright 2009 __MyCompanyName__. All rights reserved.
 *
 */
#ifndef CYLK_REGIONDETECTION
#define CYLK_REGIONDETECTION

#include <stdlib.h>
#include <stdio.h>

#include "cylk_imageManagement.h"

typedef struct stackItem {
	long value;
	struct stackItem *next;
} stackItem;

int pushValueOnStack					(stackItem **top, long value);
long popValueOffStack					(stackItem **top);
int growRegionWithThresholdFromSeedXYZ	(cylkImage* dataIm, cylkImage* regionIm, float regionThreshold, int x, int y, int z);
int growRegionFromSeedIndex				(cylkImage* thresholdIm, cylkImage* regionIm, long seed);

#endif